import kmeans


def clusterisationTaille(indice, cube):
	#partitionne le tableau indice en fonction de la taille des proteines
	
	tab = [ [] for x in range(4)]
	clusters=[]
	# partitionnement la definition biochimique d'une proteine
	for i in indice:
		longueur = float(cube["proteine"]["longueur"][i])
		if(longueur <= 20): 
			# peptide
			tab[0].append(i)
		elif(longueur > 20 and longueur <= 100):
			#petite proteine
			tab[1].append(i)
		elif(longueur > 100 and longueur <= 300):
			#proteine de taille moyenne
			tab[2].append(i)
		else:
			#grande proteine
			tab[3].append(i)
	if len(tab[3])>=3:
		#sous partitionnement des grandes proteines
		grdesP=kmeans.compute(tab[3],  3, 51, cube, "proteine", "longueur")
		for j in range (len(tab)-1):
			if len(tab[j])>0:
				clusters.append(tab[j])	
		for k in range (len(grdesP)):
			if len(grdesP[k])>0:
				clusters.append(grdesP[k])	
	else:
		for j in range (len(tab)):
			if len(tab[j])>0:
				clusters.append(tab[j])	
		
	return clusters